دسته بندی ها
20:07 1401/06/04

Minimal Api در Asp Core 6 چیست؟ کاربرد Minimal Api چیست ؟

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 510     رتبه کاربر : 4
دسته بندی : Asp.net Core Web Api Minimal Api

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2789
پاسخ دهنده : fateme 20:35 1401/06/04

Minimal Api در Asp.net Core 6 چیست ؟

آموزش کار با minimal api در core 6

 

قبل از معرفی دات نت 6 برای ساختن یک API در Asp.net Core می بایست یک کنترلر جدید ایجاد می کردیم که از کلاس ControllerBase مشتق می شد. همچنین در بالای کنترلر هم باید مشخص می کردیم که این یک API یا Endpoint می باشد و مسیر یا Routing هم مشخص می کردیم.

به فرمت زیر که یک WEB API استاندارد یا School API یا Normal Api می باشد دقت کنید.

[Route("api/[controller]")]
[ApiController]
public class MyApiController : ControllerBase
{
   ...
}

گاهی برای انجام کارهای کوچک یا یک سرویس کوچک و خلاصه ایجاد یک Endpoint جداگانه و کلاسهای جداگانه کمی زیاده روی به نظر می آمد. به همین جهت مایکروسافت در نسخه دات نت 6 مبحث Minimal Api ها قرارداده است که برای استفاده از آنها دیگر نیازی نیست یک کنترلر جداگانه ایجاد کرد. 

در واقع میتوان گفت بزرگترین تفاوت Normal Api و Minimal Api این می باشد که Minimal Api ها نیازی به کنترلر جداگانه ندارند و به راحتی و در چند خط کد ساده می توان به یک مسیر دسترسی پیدا کرد.

 

برخی از قابلیت های استفاده از Minimal Api ها

در ادامه برخی از قابلیت های Minimal Api ها را میگیم:

  • نکته اول اینکه Minimal Api ها جایگزین Normal Api ها نیستن و کماکان برای کارهای بزرگ و حرفه ای و API هایی که نیاز به سطوح دسترسی و ... دارن از همون API های سابق باید استفاده کنید.
  • سرعت دسترسی اطلاعات در Minimal Api ها بیشتر از Normal Api ها می باشد. به طور متوسط در یک شرایط یکسان در هر ثانیه 2000 درخواست می توان توسط در Normal Api ارسال کرد در حالی که در Minimal Api ها این درخواست ها به حدود 24000 میرسد.
  • استفاده از Minimal Api ها بسیار ساده می باشد. اما این سادگی برای دستورات ساده است و در صورتی که پیچیدگی هایی در دستورات وجود داشته باشد ممکن است بسیار پیچیده و غیرقابل فهم شود. بنابراین دقت کنید برای انجام امور و درخواست های ساده از این مدل Api ها استفاده کنید.
  • در Minimal Api ها هم می توان Routing و Action و ... تعریف کرد ولی همه این موارد در یک خط قابل تعریف می باشد.
  • می شه گفت Minimal Api ها کاربردی شبیه به میکروسرویس ها رو دارن و برای ارائه خدمات و سرویس های کوچک بسیار مناسب می باشد.

 

آموزش ایجاد و کار با Minimal Api ها در Asp.net Core 6

یک پروژه از نوع Asp.net Core Web Api Empty در ویژوال استودیو 2022 ایجاد کنید.

ایجاد minimal web api

در فرم Additional Information تیک Use Controller رو بردارید چون نیازی به کنترلر برای کار با Minimal Api ها نداریم. سپس روی دکمه Create کلیک کنید.

آموزش core 6

در کلاس Program.cs کدها رو به شکل زیر بنویسید. 

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseHttpsRedirection();

app.MapGet("/", () =>
{
    return "Hello Hello";
});
app.MapPost("/", () =>
{
    return Results.Ok("Call Post API");
});
app.MapPut("/", () =>
{
    return Results.Ok("Call Put API");
});
app.MapDelete("/", () =>
{
    return Results.Ok("Call Delete API");
});

app.Run();

خب حالا اگر پروژه رو Run کنید می بینید که توسط swagger می تونید به minimal api ها دسترسی داشته باشید. در کدهای بالا متدهای Post و Put و Delete و Get استفاده شده ولی بخاطر اینکه بتونم ساده تر بهتون نمایشش بدم دستورات رو توش ننوشتم.

تفاوت Asp.net Core 5 و Asp.net Core 6

دوره آموزشی رایگان عملیات CRUD در Minimal Api ها در دات نت 6

ویرایش شده در یکشنبه 6 شهریور 1401 ساعت 19:26:44
به این پاسخ امتیاز بدهید    0
امتیاز: 1617 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود